package futbol5
import futbol5.Recomendacion
import java.util.Set
import java.util.HashSet

class Jugador {
	@Property var int edad
	@Property var Categoria categoria
	@Property String mail
	int infracciones
	@Property Set <Puntuacion> puntuaciones
	
	new(){
		puntuaciones= new HashSet
	}
	
	def boolean juegoEn(Partido unPartido){
		categoria.juegaEn(this,unPartido)
	}
	
	def void reemplazarmePorEnTalPartido(Jugador unJugador,Partido unPartido){
		unPartido.cambiarJugadorPor(this,unJugador)
	}
	
	def void darmeDeBajaDe(Partido unPartido){
		unPartido.quitarJugador(this)
		infracciones = infracciones + 1
		
	}
	
	def void recomendarJugador(Jugador unJugador, Administrador admin){
		var a = new Recomendacion(unJugador)
		admin.evaluar(a)
	}
	
	def void calificar(Jugador unJugador, int puntuacion, String comentario, Administrador admin){
		admin.evaluar(new Puntuacion(this, unJugador, puntuacion, comentario))
	}

	def void agregarPuntuacion(Puntuacion puntuacion){
		puntuaciones.add(puntuacion)
	}
}